package com.taobao.txc.parser.struct;

import com.taobao.txc.common.b.c;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.apache.commons.lang.StringUtils;

public class e
{
  private static final Pattern a = Pattern.compile("^\\s*select\\s+.*\\s+for\\s+update.*$", 34);
  private static final Pattern b = Pattern.compile("^\\s*select\\s+.*\\s+from\\s+update.*$", 34);
  private static final Pattern c = Pattern.compile("^\\{\\s*call.*$", 34);
  private static final Pattern d = Pattern.compile("^.*[\\)\\s]+union\\s.*$", 34);
  private static final Pattern e = Pattern.compile("^\\s*insert\\s+.*\\s+on\\s+duplicate\\s+key\\s+update\\s*.*$", 34);
  
  public static boolean a(d paramd)
  {
    return (paramd == d.a) || (paramd == d.l) || (paramd == d.A) || (paramd == d.s) || (paramd == d.o) || (paramd == d.p) || (paramd == d.q) || (paramd == d.t) || (paramd == d.u) || (paramd == d.D);
  }
  
  public static boolean a(String paramString)
  {
    d locald = b(paramString);
    return b(locald);
  }
  
  public static boolean b(d paramd)
  {
    return (a(paramd)) || (paramd == d.e) || (paramd == d.r) || (paramd == d.I);
  }
  
  public static d b(String paramString)
  {
    int i = com.taobao.txc.common.util.c.e.a(paramString);
    if (i > 0) {
      paramString = paramString.substring(i);
    }
    d locald = null;
    String str = paramString;
    if (paramString.contains("/*")) {
      str = com.taobao.txc.common.util.c.e.a(paramString, "'\"", "'\"", true, false, true, true).trim();
    }
    if (StringUtils.isEmpty(str)) {
      locald = d.B;
    } else if (com.taobao.txc.common.util.c.e.a(str, "select"))
    {
      if ((com.taobao.txc.common.util.c.e.containsIgnoreCase(str, "for")) && (a.matcher(str.toLowerCase()).matches())) {
        locald = d.e;
      } else if ((com.taobao.txc.common.util.c.e.containsIgnoreCase(str, "update")) && (b.matcher(str).matches())) {
        locald = d.I;
      } else {
        locald = d.a;
      }
    }
    else if (com.taobao.txc.common.util.c.e.a(str, "insert"))
    {
      if ((com.taobao.txc.common.util.c.e.containsIgnoreCase(str, "duplicate")) && (e.matcher(str.toLowerCase()).matches())) {
        locald = d.U;
      } else {
        locald = d.b;
      }
    }
    else if (com.taobao.txc.common.util.c.e.a(str, "update")) {
      locald = d.c;
    } else if (com.taobao.txc.common.util.c.e.a(str, "delete")) {
      locald = d.d;
    } else if (com.taobao.txc.common.util.c.e.a(str, "show")) {
      locald = d.l;
    } else if (com.taobao.txc.common.util.c.e.a(str, "replace")) {
      locald = d.f;
    } else if (com.taobao.txc.common.util.c.e.a(str, "truncate")) {
      locald = d.g;
    } else if (com.taobao.txc.common.util.c.e.a(str, "create")) {
      locald = d.h;
    } else if (com.taobao.txc.common.util.c.e.a(str, "drop")) {
      locald = d.i;
    } else if (com.taobao.txc.common.util.c.e.a(str, "load")) {
      locald = d.j;
    } else if (com.taobao.txc.common.util.c.e.a(str, "merge")) {
      locald = d.k;
    } else if (com.taobao.txc.common.util.c.e.a(str, "alter")) {
      locald = d.m;
    } else if (com.taobao.txc.common.util.c.e.a(str, "rename")) {
      locald = d.n;
    } else if (com.taobao.txc.common.util.c.e.a(str, "dump")) {
      locald = d.o;
    } else if (com.taobao.txc.common.util.c.e.a(str, "debug")) {
      locald = d.p;
    } else if (com.taobao.txc.common.util.c.e.a(str, "savepoint")) {
      locald = d.H;
    } else if (com.taobao.txc.common.util.c.e.a(str, "release")) {
      locald = d.H;
    } else if (com.taobao.txc.common.util.c.e.a(str, "rollback")) {
      locald = d.H;
    } else if (com.taobao.txc.common.util.c.e.a(str, "explain")) {
      locald = d.q;
    } else if (com.taobao.txc.common.util.c.e.a(str, "desc")) {
      locald = d.s;
    } else if ((com.taobao.txc.common.util.c.e.a(str, "call")) || (c.matcher(str).matches())) {
      locald = d.r;
    } else if (com.taobao.txc.common.util.c.e.a(str, "set")) {
      locald = d.B;
    } else if (d.matcher(str).matches()) {
      locald = d.D;
    } else if (com.taobao.txc.common.util.c.e.a(str, "reload")) {
      locald = d.C;
    } else {
      throw new c("SqlType is Not Support ," + str);
    }
    return locald;
  }
}


/* Location:           C:\Users\ibm\Downloads\txc-yun-sample (1)\txc-yun-sample\lib\txc-client-2.0.72.jar
 * Qualified Name:     com.taobao.txc.parser.struct.e
 * JD-Core Version:    0.7.0.1
 */